
import {
  queryOthersResumeAll
} from "../../api/resume";

Page({
  /**
   * 页面的初始数据
   */
  data: {
    openid: "", // 存储申请人openid
    resumeList: [], // 存储简历项目列表
    loading: true, // 加载状态
    hasNoResume: false // 添加此字段来标识是否没有简历项目
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    console.log('userJoinProject页面接收到的参数:', options);
    // 接收并存储申请人openid
    if (options.openid) {
      const decodedOpenid = decodeURIComponent(options.openid);
      if (decodedOpenid) {
        this.setData({
          openid: decodedOpenid
        });
        
        // 加载简历数据
        this.loadResumeData();
      } else {
        this.handleMissingUserInfo();
      }
    } else {
      // 检查是否通过其他方式传递了openid
      if (options.scene) {
        // 如果通过二维码扫描进入，可能在scene参数中
        console.log('通过scene参数进入:', options.scene);
      }
      this.handleMissingUserInfo();
    }
  },

  /**
   * 处理缺少用户信息的情况
   */
  handleMissingUserInfo() {
    wx.showToast({
      title: "缺少用户信息",
      icon: "none"
    });
    console.error("未接收到openid参数");
    setTimeout(() => {
      wx.navigateBack();
    }, 1500);
  },

  /**
 * 加载简历数据
 */
loadResumeData() {
  // 设置加载状态
  this.setData({
    loading: true,
    hasNoResume: false // 重置状态
  });

  console.log('开始加载简历数据，openid:', this.data.openid);
  
  // 使用获取到的openid向后端请求数据
  if (this.data.openid) {
    // 使用封装好的服务函数调用查询个人全部简历项目的接口
    queryOthersResumeAll(this.data.openid)
      .then((res) => {
        console.log('获取简历数据响应:', res);
        if (res && res.data && res.code === 200) {
          // 处理返回的简历数据
          let resumeList = [];
          if (Array.isArray(res.data)) {
            resumeList = res.data;
          } else if (res.data.items) {
            resumeList = res.data.items;
          } else {
            resumeList = [res.data];
          }

          // 检查是否有简历项目
          const hasNoResume = resumeList.length === 0;
          
          // 处理项目偏向字段，转换为可读文本
          // 同时处理结束时间为null时显示"至今"
          resumeList = resumeList.map(item => {
            // 处理项目偏向
            if (item.projectBelief) {
              switch (item.projectBelief.toString()) {
                case '1':
                  item.projectBeliefText = '落地';
                  break;
                case '2':
                  item.projectBeliefText = '获奖';
                  break;
                case '3':
                  item.projectBeliefText = '学习';
                  break;
                default:
                  item.projectBeliefText = item.projectBelief;
              }
            } else {
              item.projectBeliefText = '未设置';
            }
            
            // 处理结束时间，如果为null则显示"至今"
            if (item.endTime === null || item.endTime === undefined) {
              item.endTime = '至今';
            }
            
            return item;
          });

          this.setData({
            resumeList: resumeList,
            loading: false,
            hasNoResume: hasNoResume // 设置是否没有简历项目
          });
        } else {
          wx.showToast({
            title: "获取简历数据失败",
            icon: "none",
          });
          this.setData({
            loading: false,
            hasNoResume: true // 出错时也显示无简历状态
          });
        }
      })
      .catch((err) => {
        console.error("获取简历数据请求失败:", err);
        wx.showToast({
          title: "网络错误",
          icon: "none",
        });
        this.setData({
          loading: false,
          hasNoResume: true // 出错时也显示无简历状态
        });
      });
  } else {
    console.error("openid为空，无法请求数据");
    wx.showToast({
      title: "用户信息错误",
      icon: "none"
    });
    this.setData({
      loading: false,
      hasNoResume: true // 出错时也显示无简历状态
    });
  }
},
  /**
   * 跳转到简历项目详情页面
   */
  detailProject(e) {
    const resumeId = e.currentTarget.dataset.resumeId;
    console.log('跳转到简历项目详情，项目ID:', resumeId);

    if (!resumeId) {
      wx.showToast({
        title: "项目信息错误",
        icon: "error",
        duration: 2000,
      });
      return;
    }

    wx.navigateTo({
      url: `/pages/detailProject/detailProject?id=${resumeId}&fromUserJoinProject=true`,
    });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },


})